package city.spring.modules.work.action.handler;

import city.spring.modules.work.action.model.AbstractPlanUser;
import city.spring.modules.work.action.model.ResultItem;
import com.google.common.collect.Table;

import java.time.LocalDate;

public interface IHandler<SHIFT, USER> {
    /**
     * 判断人员是否满足条件，满足返回true
     *
     * @param resultTable 所有排班数据
     * @param rowKey      该天的key
     * @param colKey      该天的该班次的key
     * @param people      人员
     * @return true 条件满足，false 添加不满足
     */
    boolean run(Table<LocalDate, Object, ResultItem<SHIFT, USER>> resultTable, LocalDate rowKey, Object colKey, AbstractPlanUser<USER> people);
}
